import router from "@/router";
import storage from "./storage";
import store from "@/store";
// 判断本地是否有token 如果有就放行

router.beforeEach((to,from,next)=>{
    let token=storage.get("qf-token")
    // to目标路由对象
    // from源路由对象
    // next是个函数 调用之后 可以理解为放行
    if(token){
        // 已经登入 直接放行
        // 判断是否用户菜单
        if(!store.state.permission.userMenu.length){
            // 发起请求 获取远程菜单
            store.dispatch("permission/FETCH_MENU_LIST")
            .then(()=>{
                next({path:to.path,replace:true,query:to.query})
            })
        }else{
            next()
        }
        
    }else{
        // 没有token
        // 1.访问的是登入页
        if(to.path==="/login"){
            next()
        }else{
            // 访问的不是登入页 强行调回登入页
            next({path:'/login'})
        }
    }
})
export default router